In conventional database systems having client-server architecture, a SQL (Structured Query Language) query (hereinafter also referred to as a query) requested by an application run by a client is transmitted to the server, which executes the query and returns a response consisting of a result to the query for the client. Typically, such applications would request operations such as “insert”, “delete”, “update”, and “retrieve” to be executed in the form of SQL query. This SQL query is then intercepted by the client and parsed as a client code by processing the query as follows:    C1. Breaking the SQL query into individual, tokens, and    C2. Checking the SQL query for correctness of syntax and semantics.Such processing ensures the conformance of the SQL query to the SQL constructs for the server, or DBMS (Database Management System), to which the SQL query is directed.
If the SQL query contains an ODBC (Open Database Connectivity) escape sequence, then it is converted to a native SQL query in a syntax that is supported by the destination server. With this step, an ODBC escape sequence in a construct specified by the client is converted to a native SQL construct that can be interpreted by the specific server.
After parsing the SQL query, the client transmits the SQL query to the server. To process the SQL query, the server typically performs the following five steps;    S1. Parsing the SOL query by breaking the SQL query into individual tokens and checking the SQL query for correctness of syntax and semantics. This is similar to the steps C1 and C2 performed by the client.    S2. Validating the SQL query. This is to check the SQL query against the system catalogue.    S3. Optimizing the SQL query. This is done to explore various ways to carry out the access plan for the query execution.    S4. Generating an access plan for the SQL query using information from the system catalogue.    S5. Executing the SQL, query by running the access plan.After processing the SQL query, the server returns the result of the execution of the SQL query (S5) to the application that is executing on the client.
A disadvantage with such a client-server environment is that performance of executing the SQL query is dependent on the relatively large response time involved In processing transactions. A further associated disadvantage is the inefficient use of resources in such client-server corroboration. This disadvantages occur partially due to the processing in the conventional database systems with a client-server architecture, where the query parsing is performed at the client and the server.
Therefore, there exists a need for efficiently processing SQL queries in a database system, especially in a client-server architecture.